#ifndef _COM_DEFINE_H
#define  _COM_DEFINE_H

#define __decldllexp __declspec(dllexport)

#define ON_OFF (0)          
#define SIMU_VERS 1


#define FZHA    8
#define FZHB    2
#define FZHBPLUS    4   
#define FZHC        6
#define FAHA        5
#define FRIG    9

#define VERSION_NUM FRIG

#define T25000MS             25000
#define T5000MS              5000

#define BUFFER_SIZE_32      32
#define BUFFER_SIZE_64      64
#define BUFFER_SIZE_128     128
#define BUFFER_SIZE_256     256
#define BUFFER_SIZE_512     512
#define BUFFER_SIZE_1024    1024

#if(VERSION_NUM == FZHA)
#define FIBER_TOTLENUM      4
#define SFP_MAXNUM           4
#define GC_MAXNUM            4
#define PIPE_MAXNUM          8 
#define TXDACSPI_MAXNUM     16//should be 16
#define FAN_MAXNUM           4
#define FB_ADC_MAXNUM       2
#define ADC_MAXNUM          2

#elif(VERSION_NUM == FRIG)

#define FIBER_TOTLENUM      3
#define SFP_MAXNUM           3
#define MERA_MAXNUM            4
#define PIPE_MAXNUM          4 //FRIG 4
#define FB_MAXNUM       4
#define ADC_MAXNUM          4
#else

#endif

#define BIT7 0x80
#define BIT6 0x40
#define BIT5 0x20
#define BIT4 0x10
#define BIT3 0x08
#define BIT2 0x04
#define BIT1 0x02
#define BIT0 0x01


/******************************************define the  command*************************************/ 
#define STRING_MESSAGE_Start_Analyze_file                      "### Start analyze   for %s ### "
#define STRING_MESSAGE_Transfer_Software_File                      "### upload FRM_RT_SW.bin to FTP ###"
#define STRING_MESSAGE_Transfer_BootExt_File                      "### upload Boot_ext.bin to FTP ###"

#define STRING_MESSAGE_Local_Software_Path                       "c:\\SWIFT\\Sources\\FRIG\\FRM_RT_SW.bin"
#define STRING_MESSAGE_Local_BootExt_Path                       "c:\\SWIFT\\Sources\\FRIG\\Boot_ext.bin"

#define STRING_FILENAME__Remote_Software                         "FRM_RT_SW.bin"
#define STRING_FILENAME__Remote_BootExt                         "Boot_ext.bin"



#define CMON_MESSAGE_Read_Write_Fail                           "CmonAgentWriteReadUntil() - %s failed"
#define STRING_MESSAGE_Ftp_File_Err                            "Ftp get file error, handle %s: %s"
#define STRING_MESSAGE_Shell_Write_Read_Fail                   "ShellCommandWriteReadUntil() - %s failed"
#define STRING_MESSAGE_Ftp_File                                 "Ftp %s to the BB board"


//FAHA_BIST_CSSA_LB
typedef struct tagCMONCSSAREADORWRITE{
    const char cWriteCssaCmd[BUFFER_SIZE_64];
    const char cReadCssaCmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_CSSA_READ_OR_WRITE;

//FAHA_DigTRX_BIT_EAC_IO
typedef struct tagCMONEACREAD{
    const char cReadEacCmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_EAC_READ;

//FAHA_DigTRX_BIST_BB_TMPSENSOR
typedef struct tagCMONTEMPSENREG{
    const char cWriteTempRegCmd[BUFFER_SIZE_64];
    const char cReadTempRegCmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_TEMP_SEN_REG_READ_OR_WRITE;

//FAHA_DigTRX_BIST_RF_TMPSENSOR
typedef struct tagCMONRFTEMPSENREG{
    const char cWriteTempRegCmd[BUFFER_SIZE_64];
    const char cReadTempRegCmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_RF_TEMP_SEN_REG_READ_OR_WRITE;

//FAHA_BIST_DSP_LB
typedef struct tagCMONDSPREADORWRITE{
    const char cWriteDspCmd[BUFFER_SIZE_128];
    const char cReadDspCmd[BUFFER_SIZE_128];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_DSP_READ_OR_WRITE;

//FAHA_BIST_VGADAC_SPI
typedef struct tagCMONVGADACSPIREADORWRITE{
    const char cWriteSpiCmd[BUFFER_SIZE_128];
    const char cReadSpiCmd[BUFFER_SIZE_128];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_VGADAVSPI_READ_OR_WRITE;                //Add by Pedro Wang (En Qi)

//FAHA_BIST_DAC_SPI
typedef struct tagCMONDACSPIREADORWRITE{
    const char cWriteDspCmd[BUFFER_SIZE_128];
    const char cReadDspCmd[BUFFER_SIZE_128];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_DACSPI_READ_OR_WRITE;

//FAHA_BIST_GC_EMIF
/*
typedef struct tagSHCMONHPIREADORWRITE{
    const char cWriteHpiCmd[BUFFER_SIZE_64];
    const char cReadHpiCmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_32];
} _SHCMON_HPI_READ_OR_WRITE;
*/
typedef struct tagCMONHPIREADORWRITE{
    const char cWriteHpiCmd[BUFFER_SIZE_64];
    const char cReadHpiCmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_HPI_READ_OR_WRITE;

//FAHA_BIST_IFFPGA_LB
typedef struct tagCMONIFFPGAREADORWRITE{
    const char cWriteIfFpgaCmd[BUFFER_SIZE_128];
    const char cReadIfFpgaCmd[BUFFER_SIZE_128];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_IFFPGA_READ_OR_WRITE;

//FAHA_BIST_MURKKU_LB
typedef struct tagCMONMURKKUREADORWRITE{
    const char cWriteMurkkuCmd[BUFFER_SIZE_128];
    const char cReadMurkkuCmd[BUFFER_SIZE_128];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_MURKKU_READ_OR_WRITE;

//BB_MISC_RX_ADC_SPI
typedef struct tagCMONRXADCREADORWRITE{
    const char cWriteRxAdcCmd[BUFFER_SIZE_128];
    const char cReadRxAdcCmd[BUFFER_SIZE_128];
    char cReturnValue[BUFFER_SIZE_32];
} _CMON_RXADC_READ_OR_WRITE;

//FAHA_BIT_BBRF_FB
typedef struct tagCMONBBRFFEEDBACKCMD{
    const char cSetRfFeedbackSwitch[BUFFER_SIZE_128];
    const char cGetRfFeedBackData[BUFFER_SIZE_128];
    char  cReturnString[BUFFER_SIZE_32];
}_CMON_BBRF_FEEDBACK_CMD;


typedef struct tagCMONSETGETFANSPDCMD{
    const char cSetFanSpdCmd[BUFFER_SIZE_128];
    const char cGetFanSpdCmd[BUFFER_SIZE_128];
    char cSpdValue[BUFFER_SIZE_32];
}_CMON_SET_GET_FAN_SPD_CMD;

/**************************************************************************************************/
typedef struct tagSHMONDPDANALOGLOOPCMD{
    const char cSetAnalogyLoopCmd[BUFFER_SIZE_128];
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFilePath[BUFFER_SIZE_128];
    const char cCapFileName[2][BUFFER_SIZE_64];
    const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128];    
}_SHMON_DPD_ANALOG_LOOP_CMD;

typedef struct tagSHMONFDANALOGLOOPCMD{
    const char cSetAnalogyLoopCmd[BUFFER_SIZE_128];
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFilePath[BUFFER_SIZE_128];
    const char cCapFileName[2][BUFFER_SIZE_64];
    const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128];    
}_SHMON_FB_ANALOG_LOOP_CMD;

typedef struct tagSHMONRELOADGCCMD{
    const char cSetFpgaCmd[BUFFER_SIZE_128];
    const char cLoadDspCmd[BUFFER_SIZE_128];
    const char cLoadGcCmd[BUFFER_SIZE_128];    
}_SHMON_RELOAD_GC_CMD;

typedef struct tagCMONGC5330TOFPGACMD{
    const char cEaseTestCmd[BUFFER_SIZE_128];
    const char cSetGcTestModeCmd[BUFFER_SIZE_128];
    const char cGenerateGcRampFileCmd[BUFFER_SIZE_128];
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFilePath[BUFFER_SIZE_128];
    const char cCapFileName[BUFFER_SIZE_64];
    const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128]; 
    const char cCloseGcRampFileCmd[BUFFER_SIZE_128];
}_CMON_GC5330_TO_FPGA_CMD;

typedef struct tagCMONFPGATOGREYCMD{
    const char cSetEnableTest[BUFFER_SIZE_128];
    const char cSetTxSource[BUFFER_SIZE_128];
    const char cSetTxTestIQFile[BUFFER_SIZE_128];
    const char cDumpGcBufCmd[BUFFER_SIZE_128];
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFilePath[BUFFER_SIZE_128];
    const char cCapFileName[BUFFER_SIZE_64];
    const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128]; 
}_CMON_FPGA_TO_GREY_CMD;

//FAHA_DigTRX_BIT_RXADC
/*typedef struct tagRXADCCMD{
const char cSetTestModeOne[BUFFER_SIZE_128];
const char cSetTestModeSen[BUFFER_SIZE_128];
const char cCapRxAdcFile[BUFFER_SIZE_128];
const char cLocalFilePath[BUFFER_SIZE_128];
const char cRemoteFilePath[BUFFER_SIZE_128];
const char cCapFileName[4][BUFFER_SIZE_64];
const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128];
const char cCloseTestModeOne[BUFFER_SIZE_128];
const char cCloseTestModeSen[BUFFER_SIZE_128];
}_CMON_RX_ADC_CMD;*/
typedef struct tagRXADCCMD{
    const char cSetTestMode[BUFFER_SIZE_128];
    const char cTestMode[4][BUFFER_SIZE_128];
    const char cCapRxAdcFile[BUFFER_SIZE_128];
	const char cCapFileName[4][BUFFER_SIZE_64];
	const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFilePath[BUFFER_SIZE_128];
    const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128];
    const char cCloseTestMode[BUFFER_SIZE_128];
}_CMON_RX_ADC_CMD;

typedef struct tagFBADCCMD{
    const char cSetTestMode[BUFFER_SIZE_128];
    const char cTestMode[4][BUFFER_SIZE_128];
    const char cCapFbAdcFile[BUFFER_SIZE_128];
	const char cCapFileName[4][BUFFER_SIZE_64];
	const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFilePath[BUFFER_SIZE_128];
    const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128];
    const char cCloseTestMode[BUFFER_SIZE_128];
}_CMON_FB_ADC_CMD;


typedef struct tagSHMONFEEDBACKADCCMD{
    const char cSetFeedBackAdcCmd[BUFFER_SIZE_128];
    const char cCapFBAdcFileCmd[BUFFER_SIZE_128];
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFilePath[BUFFER_SIZE_128];
    const char cGetFbAdcFilename[4][BUFFER_SIZE_32];
    const char cDownloadRemoteFileToLocal[BUFFER_SIZE_128];    
}_SHMON_FEEDBACK_ADC_CMD;

/**************************************************************************************************/
typedef struct tagMURKKUSFPLOSCMD{
    const char cReadPortPlugSfpStat[BUFFER_SIZE_128];
    const char cSetPortPlugSfpLoop[BUFFER_SIZE_128];    
    char cReturnString[BUFFER_SIZE_32];    
}_CMON_MURKKU_SFP_LOS_CMD;

typedef struct tagCMONGETRFTEMPCMD{
    const char cGetRFTempCmd[BUFFER_SIZE_128];
    const char cRFType[6][BUFFER_SIZE_32];
    double cReturnRFTemp;    
}_CMON_GET_RF_TEMP_CMD;

typedef struct tagCMONGETSOFTWAREVERSIONCMD{
    const char cGetSoftWareVerCmd[BUFFER_SIZE_128];
    const char cSoftWareType[8][BUFFER_SIZE_32];
    char cReturnVersion[BUFFER_SIZE_128];    
}_CMON_GET_SOFTWARE_VERSION_CMD;



/*****************************************FRIG BB TEST*********************************************/
typedef struct tagSHMONDDR2SDRAMTESTCMD{
    const char cSetDdr2SdramTestCmd[BUFFER_SIZE_128];
    char cReturnString[BUFFER_SIZE_32];   
}_SHMON_DDR2_SDRAM_TEST_CMD;

/*
typedef struct tagSHMONOPTICALLOOPTESTCMD{
    const char cSetOpticalLoopTestCmd[BUFFER_SIZE_128];
    const char cWriteBackOrgVal1Cmd[BUFFER_SIZE_64];
    const char cWriteBackOrgVal2Cmd[BUFFER_SIZE_64];
    long int cReturnNum;   
}_SHMON_OPTICAL_LOOP_TEST_CMD;
*/
typedef struct tagSHMONOPTICALLOOPTESTCMD{
    const char cSetOpticalLoopTestCmd[BUFFER_SIZE_128];
    const char cWriteBackOrgVal1Cmd[BUFFER_SIZE_64];
    const char cWriteBackOrgVal2Cmd[BUFFER_SIZE_64];
    char cSearchPattern[BUFFER_SIZE_64];
    long int cReturnNum;   
}_SHMON_OPTICAL_LOOP_TEST_CMD;

typedef struct tagSHMONCSSAFPGAPOWSEQCMD{
    const char cCssaFpgaPowSeqCmd[BUFFER_SIZE_128];
    char cReturnString[BUFFER_SIZE_32];    
}_SHMON_CSSA_FPGA_POW_SEQ_CMD;

typedef struct tagSHMONGETI2CTEMPCMD{
    const char cGetI2cTempCmd[BUFFER_SIZE_128];
    char cSearchPattern[BUFFER_SIZE_32];
    double dReturnTemp;    
}_SHMON_GET_I2C_TEMP_CMD;

typedef struct tagSHMONUNITINFORMATIONSTORAGECMD{
    const char cWriteUnitInfoCmd[BUFFER_SIZE_64];
    const char cReadUnitInfoCmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_64];
} _SHMON_UNIT_INFORMATION_STORAGE_CMD;

typedef struct tagSHMONFILTERSPICMD{
    const char cWriteSPICmd[BUFFER_SIZE_64];
    const char cWriteValue[2][16];
    const char cReadSPICmd[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_64];
} _SHMON_FILTER_SPI_CMD;

typedef struct tagSHMONAFRESTINFEAC5VPINCMD{
	const char cSetBBMiscPinCmd[BUFFER_SIZE_64];  
    const char cReadFilterGPIOCmd[BUFFER_SIZE_64];
    char cReturnValue1[BUFFER_SIZE_64];
    char cReturnValue2[BUFFER_SIZE_64];
} _SHMON_AFREST_INF_EAC5V_PIN_CMD;

typedef struct tagSHMONFILTERUARTCMD{
	const char cWriteUARTCmd[BUFFER_SIZE_64];  
    const char cReadUARTCmd[BUFFER_SIZE_64];
    char cWriteValue[BUFFER_SIZE_64];
    char cReturnValue[BUFFER_SIZE_64];
} _SHMON_FILTER_UART_CMD;

typedef struct tagSHMONTESTSTRUCTCMD{
    const char cWriteShmonCmd[BUFFER_SIZE_128];  
    char cReturnValue[BUFFER_SIZE_64];
} _SHMON_TEST_STRUCT_CMD;

typedef struct tagSHMONGETEACSTATUSCMD{
    const char cGetEACStatusCmd[BUFFER_SIZE_128];
    long int lGetString;     
}_SHMON_GET_EAC_STATUS_CMD;

typedef struct tagSHMONFINDPATTERNGETSTRING{
    const char cShmonCommand[BUFFER_SIZE_128];
    const char cFindPattern[BUFFER_SIZE_64];
    const char cGetString[BUFFER_SIZE_32];
    int iOffsetFromPattern;
}_SHMON_FIND_PATTERN_GET_SRING;

typedef struct tagSHMONFINDPATTERNGETNUMERIC{
    const char cShmonCommand[BUFFER_SIZE_128];
    const char cFindPattern[BUFFER_SIZE_64];
    double cGetNumeric;
    int iOffsetFromPattern;
}_SHMON_FIND_PATTERN_GET_NUMERIC;

typedef struct tagSHMONTXFBANDNULLINGSYNTHCMD{
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64];
    long int lGetString;     
}_SHMON_TX_FB_AND_NULLING_SYNTH_CMD;    

typedef struct tagSHMONRXANDLOOPSYNTHCMD{
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64];
    long int lGetString;    
}_SHMON_RX_AND_LOOP_SYNTH_CMD;
typedef struct tagSHMONRXCHAINGAINCMD{
    char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64];
    double dGetAdcPow; 
    double dGetCorrectFact;
}_SHMON_RX_CHAIN_GAIN_CMD;



typedef struct tagSHMONTXFBLOSSGAINCMD{
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64];
    double dGetFbValue;
}_SHMON_TX_FB_LOSS_GAIN_CMD;

typedef struct tagSOFTWAREDLANDFILETRANCMD{
    char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64];  
}_SOFTWARE_DL_AND_FILE_TRAN_CMD;

typedef struct tagSHMONTESTLOOPSYNTHCMD{
    const char cSetTestSynthCmd[BUFFER_SIZE_128];    
    char cReadSynthStat[BUFFER_SIZE_64];           
}_SHMON_TEST_LOOP_SYNTH_CMD;

typedef struct tagSHMONTXANDFBCLOSEDLOOPINITCMD{
    char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64]; 
}_SHMON_TX_AND_FB_CLOSED_LOOP_INIT_CMD;
typedef struct tagSHMONTXANDFBCLOSEDLOOPCMD{
    char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64];
    const char cSetDapd[BUFFER_SIZE_64];
    const char cInactiveTxCarry[BUFFER_SIZE_64];
	const char cDeleteTxCarry[BUFFER_SIZE_64];
	const char cDeleteRxCarry[BUFFER_SIZE_64];
    double dGetFbValue;
    double dGetAdcPow;
    double dGetCorrectFact;
}_SHMON_TX_AND_FB_CLOSED_LOOP_CMD;

typedef struct tagSHMONTXCHAINGAINCMD{
    const char cLocalFilePath[BUFFER_SIZE_128];
    const char cRemoteFileName[BUFFER_SIZE_64];
    const char cSetDapd[BUFFER_SIZE_64];
    const char cInactiveCarry[BUFFER_SIZE_64];
}_SHMON_TX_CHAIN_GAIN_CMD;

typedef struct tagSHMONPAPSUELOADCMD{
    const char cSetVoltageCmd[BUFFER_SIZE_128];
    const char cEnablePaPower[BUFFER_SIZE_64];
    const char cDisablePaPower[BUFFER_SIZE_64];
}_SHMON_PA_PSU_ELOAD_CMD;


typedef struct tagFRMONTESTSTRUCTCMD{
    const char cWriteFrmonCmd[BUFFER_SIZE_128];    
    char cReturnValue[BUFFER_SIZE_64];           
}_FRMON_TEST_STRUCT_CMD;

/**************************************************************************************************/


typedef struct tagSTRINGSOFTWAREVERSIONCMD{
    const char cStepNamePath[BUFFER_SIZE_256];
    char  cSoftwareVersion[BUFFER_SIZE_64];
}_STRING_SOFTWARE_VERSION;

typedef struct tagCMONSETRXVGAGAINCMD{
    const char cSetRxVgaGainCmd[BUFFER_SIZE_128];
    const char cReadRxVgaGainCmd[BUFFER_SIZE_128];
    char cReturnVgaGain[BUFFER_SIZE_32];    
}_CMON_SET_RXVGA_GAIN_CMD;

typedef struct tagCHECKSPIBUSCMD{
    const char cSetupCsCmd[BUFFER_SIZE_128];
}_CMON_CHECK_SPI_BUS_CMD;

typedef struct tagTXSEVENTORXLBCMD{
    const char cInitTxSevenToRxLb[7][BUFFER_SIZE_128];
    const char cSetRxVgaGain[BUFFER_SIZE_128];
    const char cGetRxPow[BUFFER_SIZE_128];
    const char cDisableCarr[BUFFER_SIZE_128];
    double dReturnRxPow;
}_CMON_TXSEVEN_TO_RX_LB_CMD;

typedef struct tagRXDVGADRCMD{
    const char cInitRxDvgaDr[7][BUFFER_SIZE_128];
    const char cSetRxVgaGain[BUFFER_SIZE_128];
    const char cGetRxPow[BUFFER_SIZE_128]; 
    const char cDisableCarr[BUFFER_SIZE_128];
    double dReturnRxPow;    
}_CMON_RX_DVGA_DR_CMD;

typedef struct tagTXTORXSEVENLBCMD{
    const char cInitTxToRx[6][BUFFER_SIZE_128];
    const char cSetTxVga[BUFFER_SIZE_128];
    const char cEnCarrX[BUFFER_SIZE_128];
    const char cGetRxPow[BUFFER_SIZE_128];
    const char cDisableCarr[BUFFER_SIZE_128];
    double dReturnRxPow;    
}_CMON_TX_TO_RXSEVEN_LB_CMD;

typedef struct tagTXVGADRCMD{
    const char cInitTxVgaDr[6][BUFFER_SIZE_128];    
    const char cEnCarrX[BUFFER_SIZE_128];
    const char cSetTxVga[BUFFER_SIZE_128];
    const char cGetRxPow[BUFFER_SIZE_128];
    const char cDisableCarr[BUFFER_SIZE_128];
    double dReturnRxPow;    
}_CMON_TX_VGA_DR_CMD;

typedef struct tagTXSEVENTOFBLBCMD{
    const char cInitTxToFb[7][BUFFER_SIZE_128];
    const char cGetRxPow[BUFFER_SIZE_128];
    const char cDisableCarr[BUFFER_SIZE_128];
    double dReturnRxPow;    
}_CMON_TXSEVEN_TO_FB_LB_CMD;

typedef struct tagSETUPAASCLKLOCMD{
    const char cSetupClkFirstPart[18][BUFFER_SIZE_128];
    const char cSetupClkSecondPart[14][BUFFER_SIZE_128];
    const char cSetupClkThirdPart[7][BUFFER_SIZE_128];
	const char cSetupLO[13][BUFFER_SIZE_128];
}_SHELLCOM_SETUP_AAS_CLKLO_CMD;

typedef struct tagCONFIGUREFBMIXERCMD{
    const char cConfigureFbMixerFirstPart[BUFFER_SIZE_128];
    const char cConfigureFbMixerSecondPart[8][BUFFER_SIZE_128];
    const char cConfigureFbMixerThirdPart[BUFFER_SIZE_128];
}_SHELLCOM_CONFIGURE_FB_MIXER_CMD;


typedef struct tagCHECKSWITCHSTATUSCMD{
    const char cSwitchName[BUFFER_SIZE_64];
	const char cCheckSwitchStatus[BUFFER_SIZE_128];
    const char cCheckSwitchStatusOpposite[BUFFER_SIZE_128];	
}_CMON_CHECK_SWITCH_STATUS_CMD;


typedef struct tagFINDPATTERNANDNUMERIC{
    const char cPatternString[BUFFER_SIZE_64];
    double cFindNumeric;
}_FIND_PATTERN_AND_NUMERIC;

typedef struct tagFINDPATTERNGETSTRING{
    const char cFindPattern[BUFFER_SIZE_64];
    const char cGetString[BUFFER_SIZE_32];
    int iOffsetFromPattern;
}_FIND_PATTERN_GET_SRING;


/*********************************extern declare*************************************/
#endif/* ndef _COM_DEFINE_H */
